{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "任务：基于flare文本数据，建立LSTM模型，预测序列文字：\n",
    "1.完成数据预处理，将文字序列数据转化为可用于LSTM输入的数据\n",
    "2.查看文字数据预处理后的数据结构，并进行数据分离操作\n",
    "3.针对字符串输入(” flare is a teacher in ai industry. He obtained his phd in Australia.”)，预测其对应的后续字符\n",
    "备注：模型结构：单层LSTM，输出有20个神经元；每次使用前20个字符预测第21个字符"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-5.0</td>\n",
       "      <td>25.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-4.9</td>\n",
       "      <td>24.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-4.8</td>\n",
       "      <td>23.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-4.7</td>\n",
       "      <td>22.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-4.6</td>\n",
       "      <td>21.16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     x      y\n",
       "0 -5.0  25.00\n",
       "1 -4.9  24.01\n",
       "2 -4.8  23.04\n",
       "3 -4.7  22.09\n",
       "4 -4.6  21.16"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "data = pd.read_csv('transfer_data.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data.loc[:,'x']\n",
    "y = data.loc[:,'y']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from matplotlib import pyplot as plt\n",
    "fig1 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y)\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.array(x).reshape(-1,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_1 (Dense)              (None, 50)                100       \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 50)                2550      \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 1)                 51        \n",
      "=================================================================\n",
      "Total params: 2,701\n",
      "Trainable params: 2,701\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
    "model = Sequential()\n",
    "model.add(Dense(units = 50, input_dim = 1, activation='relu'))\n",
    "model.add(Dense(units = 50, activation='relu'))\n",
    "model.add(Dense(units = 1, activation='linear'))\n",
    "model.compile(optimizer='adam',loss='mean_squared_error')\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 4.4543\n",
      "Epoch 2/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 4.3621\n",
      "Epoch 3/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 4.3088\n",
      "Epoch 4/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 4.2597\n",
      "Epoch 5/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 4.2307\n",
      "Epoch 6/400\n",
      "101/101 [==============================] - 0s 119us/step - loss: 4.1776\n",
      "Epoch 7/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 4.0164\n",
      "Epoch 8/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.9748\n",
      "Epoch 9/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.9256\n",
      "Epoch 10/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.8138\n",
      "Epoch 11/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.7512\n",
      "Epoch 12/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 3.6724\n",
      "Epoch 13/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.6133\n",
      "Epoch 14/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.5552\n",
      "Epoch 15/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.4940\n",
      "Epoch 16/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.4371\n",
      "Epoch 17/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.3735\n",
      "Epoch 18/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.3171\n",
      "Epoch 19/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.2708\n",
      "Epoch 20/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 3.2879\n",
      "Epoch 21/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.2341\n",
      "Epoch 22/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 3.1339\n",
      "Epoch 23/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 3.0287\n",
      "Epoch 24/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.9696\n",
      "Epoch 25/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.9245\n",
      "Epoch 26/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.8767\n",
      "Epoch 27/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 2.8329\n",
      "Epoch 28/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.7840\n",
      "Epoch 29/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 2.7169\n",
      "Epoch 30/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.6667\n",
      "Epoch 31/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 2.6194\n",
      "Epoch 32/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.5860\n",
      "Epoch 33/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.5340\n",
      "Epoch 34/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.4853\n",
      "Epoch 35/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.4468\n",
      "Epoch 36/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 2.3651\n",
      "Epoch 37/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.3741\n",
      "Epoch 38/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 2.3656\n",
      "Epoch 39/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.3110\n",
      "Epoch 40/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.2262\n",
      "Epoch 41/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 2.1598\n",
      "Epoch 42/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.1134\n",
      "Epoch 43/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 2.0904\n",
      "Epoch 44/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 2.0498\n",
      "Epoch 45/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 2.0029\n",
      "Epoch 46/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.9671\n",
      "Epoch 47/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.9360\n",
      "Epoch 48/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.9379\n",
      "Epoch 49/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.8920\n",
      "Epoch 50/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.8555\n",
      "Epoch 51/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 1.8174\n",
      "Epoch 52/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.8046\n",
      "Epoch 53/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.7686\n",
      "Epoch 54/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.7186\n",
      "Epoch 55/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 1.7233\n",
      "Epoch 56/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.6861\n",
      "Epoch 57/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.6280\n",
      "Epoch 58/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.5662\n",
      "Epoch 59/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.5283\n",
      "Epoch 60/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.5047\n",
      "Epoch 61/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.4843\n",
      "Epoch 62/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.4572\n",
      "Epoch 63/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.4557\n",
      "Epoch 64/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.4164\n",
      "Epoch 65/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 1.3731\n",
      "Epoch 66/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.3736\n",
      "Epoch 67/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.3295\n",
      "Epoch 68/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.2957\n",
      "Epoch 69/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.2591\n",
      "Epoch 70/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.3523\n",
      "Epoch 71/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.3828\n",
      "Epoch 72/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 1.2914\n",
      "Epoch 73/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.2022\n",
      "Epoch 74/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.1597\n",
      "Epoch 75/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.1355\n",
      "Epoch 76/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.1063\n",
      "Epoch 77/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.0764\n",
      "Epoch 78/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.0741\n",
      "Epoch 79/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 1.0515\n",
      "Epoch 80/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.0196\n",
      "Epoch 81/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.9994\n",
      "Epoch 82/400\n",
      "101/101 [==============================] - ETA: 0s - loss: 1.306 - 0s 89us/step - loss: 0.9854\n",
      "Epoch 83/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.9773\n",
      "Epoch 84/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.9711\n",
      "Epoch 85/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.9500\n",
      "Epoch 86/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.9017\n",
      "Epoch 87/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.9222\n",
      "Epoch 88/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.8971\n",
      "Epoch 89/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.8884\n",
      "Epoch 90/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.8792\n",
      "Epoch 91/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.8449\n",
      "Epoch 92/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.8229\n",
      "Epoch 93/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.8170\n",
      "Epoch 94/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.8329\n",
      "Epoch 95/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.8033\n",
      "Epoch 96/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.7590\n",
      "Epoch 97/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.7207\n",
      "Epoch 98/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.7196\n",
      "Epoch 99/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.7344\n",
      "Epoch 100/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.7318\n",
      "Epoch 101/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.6890\n",
      "Epoch 102/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.6633\n",
      "Epoch 103/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6581\n",
      "Epoch 104/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6578\n",
      "Epoch 105/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.6609\n",
      "Epoch 106/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.6454\n",
      "Epoch 107/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6251\n",
      "Epoch 108/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.5963\n",
      "Epoch 109/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.5842\n",
      "Epoch 110/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.5736\n",
      "Epoch 111/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.5747\n",
      "Epoch 112/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6186\n",
      "Epoch 113/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6022\n",
      "Epoch 114/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.5599\n",
      "Epoch 115/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.5410\n",
      "Epoch 116/400\n",
      "101/101 [==============================] - 0s 109us/step - loss: 0.5096\n",
      "Epoch 117/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.5207\n",
      "Epoch 118/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.5183\n",
      "Epoch 119/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.5097\n",
      "Epoch 120/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.4857\n",
      "Epoch 121/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4953\n",
      "Epoch 122/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4894\n",
      "Epoch 123/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4603\n",
      "Epoch 124/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4426\n",
      "Epoch 125/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4395\n",
      "Epoch 126/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4448\n",
      "Epoch 127/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4479\n",
      "Epoch 128/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4421\n",
      "Epoch 129/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4289\n",
      "Epoch 130/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4062\n",
      "Epoch 131/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3986\n",
      "Epoch 132/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4200\n",
      "Epoch 133/400\n",
      "101/101 [==============================] - ETA: 0s - loss: 0.672 - 0s 69us/step - loss: 0.4089\n",
      "Epoch 134/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3921\n",
      "Epoch 135/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3640\n",
      "Epoch 136/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3748\n",
      "Epoch 137/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3631\n",
      "Epoch 138/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3430\n",
      "Epoch 139/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.3524\n",
      "Epoch 140/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3522\n",
      "Epoch 141/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3435\n",
      "Epoch 142/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3301\n",
      "Epoch 143/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3194\n",
      "Epoch 144/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3151\n",
      "Epoch 145/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3178\n",
      "Epoch 146/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3101\n",
      "Epoch 147/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3103\n",
      "Epoch 148/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3100\n",
      "Epoch 149/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3015\n",
      "Epoch 150/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2913\n",
      "Epoch 151/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2832\n",
      "Epoch 152/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2788\n",
      "Epoch 153/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2722\n",
      "Epoch 154/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2701\n",
      "Epoch 155/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2798\n",
      "Epoch 156/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2771\n",
      "Epoch 157/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2731\n",
      "Epoch 158/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2569\n",
      "Epoch 159/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2578\n",
      "Epoch 160/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2536\n",
      "Epoch 161/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2471\n",
      "Epoch 162/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2482\n",
      "Epoch 163/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2476\n",
      "Epoch 164/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2415\n",
      "Epoch 165/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2358\n",
      "Epoch 166/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2317\n",
      "Epoch 167/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2320\n",
      "Epoch 168/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2292\n",
      "Epoch 169/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2192\n",
      "Epoch 170/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.2183\n",
      "Epoch 171/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2304\n",
      "Epoch 172/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2225\n",
      "Epoch 173/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2091\n",
      "Epoch 174/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2070\n",
      "Epoch 175/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2002\n",
      "Epoch 176/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1970\n",
      "Epoch 177/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1966\n",
      "Epoch 178/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1918\n",
      "Epoch 179/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1915\n",
      "Epoch 180/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.1905\n",
      "Epoch 181/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1894\n",
      "Epoch 182/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1888\n",
      "Epoch 183/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1882\n",
      "Epoch 184/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1777\n",
      "Epoch 185/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1758\n",
      "Epoch 186/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1798\n",
      "Epoch 187/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1739\n",
      "Epoch 188/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1716\n",
      "Epoch 189/400\n",
      "101/101 [==============================] - ETA: 0s - loss: 0.161 - 0s 79us/step - loss: 0.1672\n",
      "Epoch 190/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.1711\n",
      "Epoch 191/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1763\n",
      "Epoch 192/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1673\n",
      "Epoch 193/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1578\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 194/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1624\n",
      "Epoch 195/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.1615\n",
      "Epoch 196/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1550\n",
      "Epoch 197/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1540\n",
      "Epoch 198/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1603\n",
      "Epoch 199/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1589\n",
      "Epoch 200/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1533\n",
      "Epoch 201/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1474\n",
      "Epoch 202/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1595\n",
      "Epoch 203/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1692\n",
      "Epoch 204/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1500\n",
      "Epoch 205/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1404\n",
      "Epoch 206/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.1630\n",
      "Epoch 207/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1587\n",
      "Epoch 208/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1377\n",
      "Epoch 209/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1348\n",
      "Epoch 210/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1363\n",
      "Epoch 211/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1341\n",
      "Epoch 212/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1294\n",
      "Epoch 213/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1317\n",
      "Epoch 214/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1246\n",
      "Epoch 215/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.1222\n",
      "Epoch 216/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1222\n",
      "Epoch 217/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1182\n",
      "Epoch 218/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1220\n",
      "Epoch 219/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1291\n",
      "Epoch 220/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1209\n",
      "Epoch 221/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1144\n",
      "Epoch 222/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.1149\n",
      "Epoch 223/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1125\n",
      "Epoch 224/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1099\n",
      "Epoch 225/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1086\n",
      "Epoch 226/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1101\n",
      "Epoch 227/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1096\n",
      "Epoch 228/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1082\n",
      "Epoch 229/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1083\n",
      "Epoch 230/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.1054\n",
      "Epoch 231/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1077\n",
      "Epoch 232/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1037\n",
      "Epoch 233/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.1034\n",
      "Epoch 234/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0996\n",
      "Epoch 235/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0964\n",
      "Epoch 236/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0976\n",
      "Epoch 237/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0953\n",
      "Epoch 238/400\n",
      "101/101 [==============================] - ETA: 0s - loss: 0.081 - 0s 69us/step - loss: 0.0937\n",
      "Epoch 239/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0968\n",
      "Epoch 240/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0951\n",
      "Epoch 241/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0918\n",
      "Epoch 242/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0886\n",
      "Epoch 243/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0882\n",
      "Epoch 244/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0936\n",
      "Epoch 245/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0899\n",
      "Epoch 246/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0881\n",
      "Epoch 247/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0900\n",
      "Epoch 248/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0945\n",
      "Epoch 249/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0911\n",
      "Epoch 250/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0879\n",
      "Epoch 251/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0865\n",
      "Epoch 252/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0829\n",
      "Epoch 253/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0801\n",
      "Epoch 254/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0820\n",
      "Epoch 255/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0813\n",
      "Epoch 256/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0788\n",
      "Epoch 257/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0778\n",
      "Epoch 258/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0760\n",
      "Epoch 259/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0752\n",
      "Epoch 260/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0747\n",
      "Epoch 261/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0738\n",
      "Epoch 262/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0741\n",
      "Epoch 263/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0769\n",
      "Epoch 264/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0745\n",
      "Epoch 265/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0732\n",
      "Epoch 266/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0747\n",
      "Epoch 267/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0707\n",
      "Epoch 268/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0703\n",
      "Epoch 269/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0712\n",
      "Epoch 270/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0693\n",
      "Epoch 271/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0678\n",
      "Epoch 272/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0735\n",
      "Epoch 273/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0705\n",
      "Epoch 274/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0713\n",
      "Epoch 275/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0648\n",
      "Epoch 276/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0638\n",
      "Epoch 277/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0646\n",
      "Epoch 278/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0623\n",
      "Epoch 279/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0599\n",
      "Epoch 280/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0607\n",
      "Epoch 281/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0608\n",
      "Epoch 282/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0588\n",
      "Epoch 283/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0657\n",
      "Epoch 284/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0645\n",
      "Epoch 285/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0591\n",
      "Epoch 286/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0619\n",
      "Epoch 287/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0598\n",
      "Epoch 288/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0587\n",
      "Epoch 289/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0565\n",
      "Epoch 290/400\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "101/101 [==============================] - 0s 79us/step - loss: 0.0594\n",
      "Epoch 291/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0610\n",
      "Epoch 292/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0589\n",
      "Epoch 293/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0536\n",
      "Epoch 294/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0609\n",
      "Epoch 295/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0588\n",
      "Epoch 296/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0528\n",
      "Epoch 297/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0510\n",
      "Epoch 298/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0523\n",
      "Epoch 299/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0502\n",
      "Epoch 300/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0499\n",
      "Epoch 301/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0512\n",
      "Epoch 302/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0506\n",
      "Epoch 303/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0479\n",
      "Epoch 304/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0570\n",
      "Epoch 305/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0505\n",
      "Epoch 306/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0542\n",
      "Epoch 307/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0495\n",
      "Epoch 308/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0517\n",
      "Epoch 309/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0461\n",
      "Epoch 310/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0466\n",
      "Epoch 311/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0457\n",
      "Epoch 312/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0468\n",
      "Epoch 313/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0577\n",
      "Epoch 314/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0470\n",
      "Epoch 315/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0474\n",
      "Epoch 316/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0473\n",
      "Epoch 317/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0463\n",
      "Epoch 318/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0464\n",
      "Epoch 319/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0452\n",
      "Epoch 320/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0457\n",
      "Epoch 321/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0431\n",
      "Epoch 322/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0455\n",
      "Epoch 323/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0420\n",
      "Epoch 324/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0426\n",
      "Epoch 325/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0405\n",
      "Epoch 326/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0382\n",
      "Epoch 327/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0456\n",
      "Epoch 328/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0416\n",
      "Epoch 329/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0415\n",
      "Epoch 330/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0394\n",
      "Epoch 331/400\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.0407\n",
      "Epoch 332/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0382\n",
      "Epoch 333/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0378\n",
      "Epoch 334/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0371\n",
      "Epoch 335/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0362\n",
      "Epoch 336/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0391\n",
      "Epoch 337/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0400\n",
      "Epoch 338/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0372\n",
      "Epoch 339/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0358\n",
      "Epoch 340/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0359\n",
      "Epoch 341/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0347\n",
      "Epoch 342/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0345\n",
      "Epoch 343/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0345\n",
      "Epoch 344/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0341\n",
      "Epoch 345/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0338\n",
      "Epoch 346/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0339\n",
      "Epoch 347/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0330\n",
      "Epoch 348/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0332\n",
      "Epoch 349/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0329\n",
      "Epoch 350/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0338\n",
      "Epoch 351/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0328\n",
      "Epoch 352/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0323\n",
      "Epoch 353/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0332\n",
      "Epoch 354/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0327\n",
      "Epoch 355/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0326\n",
      "Epoch 356/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0326\n",
      "Epoch 357/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0309\n",
      "Epoch 358/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0354\n",
      "Epoch 359/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0324\n",
      "Epoch 360/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0333\n",
      "Epoch 361/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0291\n",
      "Epoch 362/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0327\n",
      "Epoch 363/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0317\n",
      "Epoch 364/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0293\n",
      "Epoch 365/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0311\n",
      "Epoch 366/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0301\n",
      "Epoch 367/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0322\n",
      "Epoch 368/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0300\n",
      "Epoch 369/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0283\n",
      "Epoch 370/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0302\n",
      "Epoch 371/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0285\n",
      "Epoch 372/400\n",
      "101/101 [==============================] - 0s 70us/step - loss: 0.0291\n",
      "Epoch 373/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0273\n",
      "Epoch 374/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0278\n",
      "Epoch 375/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0291\n",
      "Epoch 376/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0290\n",
      "Epoch 377/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0306\n",
      "Epoch 378/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0280\n",
      "Epoch 379/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0271\n",
      "Epoch 380/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0264\n",
      "Epoch 381/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0272\n",
      "Epoch 382/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0279\n",
      "Epoch 383/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0266\n",
      "Epoch 384/400\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.0266\n",
      "Epoch 385/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0264\n",
      "Epoch 386/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0311\n",
      "Epoch 387/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0349\n",
      "Epoch 388/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0322\n",
      "Epoch 389/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0297\n",
      "Epoch 390/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0311\n",
      "Epoch 391/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0278\n",
      "Epoch 392/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0274\n",
      "Epoch 393/400\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.0257\n",
      "Epoch 394/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0250\n",
      "Epoch 395/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0241\n",
      "Epoch 396/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0239\n",
      "Epoch 397/400\n",
      "101/101 [==============================] - 0s 59us/step - loss: 0.0236\n",
      "Epoch 398/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0287\n",
      "Epoch 399/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0263\n",
      "Epoch 400/400\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.0256\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.callbacks.History at 0x1fa5a7274a8>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(x,y,epochs=400)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_predict = model.predict(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig2 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y)\n",
    "plt.plot(x,y_predict,'r')\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\niubi\\Anaconda3\\envs\\env_ttest\\lib\\site-packages\\sklearn\\externals\\joblib\\__init__.py:15: FutureWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.\n",
      "  warnings.warn(msg, category=FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "['model1.m']"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "joblib.dump(model, \"model1.m\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "model2 = joblib.load(\"model1.m\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x2</th>\n",
       "      <th>y2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-5.0</td>\n",
       "      <td>26.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-4.9</td>\n",
       "      <td>25.21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-4.8</td>\n",
       "      <td>24.44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-4.7</td>\n",
       "      <td>23.69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-4.6</td>\n",
       "      <td>22.96</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    x2     y2\n",
       "0 -5.0  26.00\n",
       "1 -4.9  25.21\n",
       "2 -4.8  24.44\n",
       "3 -4.7  23.69\n",
       "4 -4.6  22.96"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data2 = pd.read_csv('transfer_data2.csv')\n",
    "data2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "x2 = data2.loc[:,'x2']\n",
    "y2 = data2.loc[:,'y2']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "y2_predict = model2.predict(x2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig3 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y,label='data1')\n",
    "plt.plot(x,y2_predict,'r',label='predict2')\n",
    "plt.scatter(x2,y2,label='data2')\n",
    "plt.legend()\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "x2 = np.array(x2).reshape(-1,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 4.9235\n",
      "Epoch 2/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 4.3589\n",
      "Epoch 3/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.8741\n",
      "Epoch 4/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 3.4074\n",
      "Epoch 5/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 3.0140\n",
      "Epoch 6/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.6746\n",
      "Epoch 7/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 2.3697\n",
      "Epoch 8/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 2.1209\n",
      "Epoch 9/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 1.8943\n",
      "Epoch 10/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.6962\n",
      "Epoch 11/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.5163\n",
      "Epoch 12/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 1.3732\n",
      "Epoch 13/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 1.2591\n",
      "Epoch 14/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.1400\n",
      "Epoch 15/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 1.0237\n",
      "Epoch 16/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.9248\n",
      "Epoch 17/40\n",
      "101/101 [==============================] - 0s 109us/step - loss: 0.8441\n",
      "Epoch 18/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.7559\n",
      "Epoch 19/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.6742\n",
      "Epoch 20/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.6036\n",
      "Epoch 21/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.5786\n",
      "Epoch 22/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.5193\n",
      "Epoch 23/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.4668\n",
      "Epoch 24/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.4443\n",
      "Epoch 25/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.4072\n",
      "Epoch 26/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3781\n",
      "Epoch 27/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.3546\n",
      "Epoch 28/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.3348\n",
      "Epoch 29/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.3234\n",
      "Epoch 30/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.3083\n",
      "Epoch 31/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.2898\n",
      "Epoch 32/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2690\n",
      "Epoch 33/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.2637\n",
      "Epoch 34/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2543\n",
      "Epoch 35/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2409\n",
      "Epoch 36/40\n",
      "101/101 [==============================] - 0s 89us/step - loss: 0.2290\n",
      "Epoch 37/40\n",
      "101/101 [==============================] - 0s 79us/step - loss: 0.2285\n",
      "Epoch 38/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.2199\n",
      "Epoch 39/40\n",
      "101/101 [==============================] - 0s 69us/step - loss: 0.2110\n",
      "Epoch 40/40\n",
      "101/101 [==============================] - 0s 99us/step - loss: 0.2010\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.callbacks.History at 0x1fa5c82c240>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model2.fit(x2,y2,epochs=40)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "y2_predict = model2.predict(x2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig4 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y,label='data1')\n",
    "plt.plot(x,y2_predict,'r',label='predict2')\n",
    "plt.scatter(x2,y2,label='data2')\n",
    "plt.legend()\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig5 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y,label='data1')\n",
    "plt.plot(x,y2_predict,'r',label='predict2')\n",
    "plt.scatter(x2,y2,label='data2')\n",
    "plt.legend()\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig6 = plt.figure(figsize=(7,5))\n",
    "plt.scatter(x,y,label='data1')\n",
    "plt.plot(x,y2_predict,'r',label='predict2')\n",
    "plt.scatter(x2,y2,label='data2')\n",
    "plt.legend()\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "基于新数据的迁移学习实战summary：\n",
    "1、通过使用新数据，实现了模型的2次训练，达到了较好的预测效果；\n",
    "2、建立mlp模型实现了非线性分布数据的回归预测；\n",
    "3、掌握了模型存储与加载的方法；\n",
    "4、通过迁移学习，可减少模型训练迭代次数，大幅缩短训练时间"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
